Micron Document




GNU Linear Programming Kit
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
The GNU Linear Programming Kit (GLPK) is a software package intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library. The package is part of the GNU Project and is released under the GNU General Public License.

GLPK uses the revised simplex method and the primal-dual interior point method for non-integer problems and the branch-and-bound algorithm together with Gomory's mixed integer cuts for (mixed) integer problems.

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

History

GLPK was developed by Andrew O. Makhorin (Андрей Олегович Махорин) of the Moscow Aviation Institute. The first public release was in October 2000.

• Version 1.1.1 contained a library for a revised primal and dual simplex algorithm.
• Version 2.0 introduced an implementation of the primal-dual interior point method.
• Version 2.2 added branch and bound solving of mixed integer problems.
• Version 2.4 added a first implementation of the GLPK/L modeling language.
• Version 4.0 replaced GLPK/L by the GNU MathProg modeling language, which is a subset of the AMPL modeling language.

Interfaces and wrappers

Since version 4.0, GLPK problems can be modeled using GNU MathProg (GMPL), a subset of the AMPL modeling language used only by GLPK. However, GLPK is most commonly called from other programming languages. Wrappers exist for:

Juliacite-ref-2[2] and the JuMP modeling packagecite-ref-3[3]
Java (using OptimJ)cite-ref-4[4]

Further reading

Wikibooks has a book on the topic of:

GLPK

• citerefeiji-oki2012Eiji Oki (2012). Linear Programming and Algorithms for Communication Networks: A Practical Guide to Network Design, Control, and Management. CRC Press. ISBN 978-1-4665-5264-7. The book uses GLPK exclusively and contains numerous examples.

References

cite-note-wikidata-34d34820f7f2749cca53fbeef7f7b0e40bf0f568-v20-11. citerefandrew-makhorin2020Andrew Makhorin (16 December 2020). "glpk 5.0 release information". Retrieved 16 December 2020.
cite-note-22. GLPK.jl, JuMP-dev, 2023-01-16, retrieved 2023-02-04
cite-note-33. jump-dev/JuMP.jl, JuMP-dev, 2023-02-04, retrieved 2023-02-04
cite-note-44. "GLPK for Java – About".

External links

• GLPK official site
• GLPK Wikibook